{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#本章需导入的模块\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "from pylab import *\n",
    "import matplotlib.cm as cm\n",
    "import warnings\n",
    "warnings.filterwarnings(action = 'ignore')\n",
    "%matplotlib inline\n",
    "plt.rcParams['font.sans-serif']=['SimHei']  #解决中文显示乱码问题\n",
    "plt.rcParams['axes.unicode_minus']=False\n",
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "from sklearn.datasets import make_circles\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import zero_one_loss,r2_score,mean_squared_error\n",
    "import sklearn.neural_network as net"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdsAAAHRCAYAAAAi4RNSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deWAURdoG8KeAcCUgdxBEInIsiIAaQQQkXrio4MnCuoKICrjK8ql4Ll54rfeKx64H+OHqKi4eePApgijIcpjgqngAigG5hHCF+6zvD5OF7rfCdDpdNdPJ8/vH1GtN9ztvOlPMdE2V0lqDiIiI7KmU7ASIiIjKOw62RERElnGwJSIisoyDLRERkWUcbImIiCzjYEtERGQZB1siIiLLqoR5kFJqHIB2AN7XWt97qL4NGjTQWVlZhzxeQUGBiK1fv17EduzY4Wnv27cvYa5Rq1q1qqednp4u+jRp0kTEqlevnvDYeXl5BVrrhqb/F7TmQeptsm3bNhHLz8/3tOvWrSv61KxZU8Tq1KlT6vMnQxT1BsLXPKytW7eK2KJFizztGjVqiD4tW7YUMf/1bFsyr/Eobdq06ZBtwPw3tXPnThHz/10dddRRoo9SqrQpAojvNR6Wad2IFStWiFizZs2snD8/Px8FBQXGX1apB1ul1IUAKmutuyqlxiulWmmtl5TUPysrC7m5uYc85rhx40RswoQJIvb111972qYL3LamTZt62ieeeKLoc88994hY69atEx5bKbWshHjgmgept8ncuXNF7PLLL/e0BwwYIPp06tRJxPr06eNpV6qUmh+gRFFvIHzNw/rss89E7JRTTvG0TQPrO++8I2KuX0CTeY2HZXoB99fSVNt///vfIub/RxEAnHXWWZ626bUv7D+K4nqNh7V3714Ru/7660Vs7NixVs6fnZ1d4v8L8yqYA+D1op+nAuju76CUGqqUylVK5a5bty7EKcgnB4eoOesduRzwGnctB7zGXcoBr3Gnwgy26QBWFv28AUCmv4PW+jmtdbbWOrthQ+MnGFQ6h6w56x05XuPu8Rp3i9e4Y2EG260Aim8IZYQ8BpUOa+4W6+0ea+4W6+1YmAlSefj1I4e5ADoCkDchSunJJ58UsS+//LKsh7Xip59+OmQbACZPnixi/vvLQSZMHSTymvs1btxYxEaNGuVpz549W/S56667ROzUU0/1tE33R9q3b1/KDJ2yXu+gTBNq/PfSAXlf0T+/AQCOP/54ETNdv4cddlhpUoxKStR87dq1InbRRReJmH+OQ//+/UUf09yNFi1aiNjIkSM97ddff130ufTSS2WyZZMS9Xbh+eefF7Frr73W0w4yp6aswgy2bwOYpZRqAqA3gJOiTYkMWHO3WG/3WHO3WG/HSv3Rgda6EL/eXJ8L4FSt9eaokyIv1twt1ts91twt1tu9UN+z1VpvxIGZbOQAa+4W6+0ea+4W6+1WqME2aq+++qqImb6jFkSQ7w0G/UKz6cvQf/jDHzztNWvWiD67du0Sse3bt3vapbxna52pbldccYWn/dJLLwU61owZMzzt0047TfSZNGmSiPm/K0rA8uXLRezHH38MdayNGzeK2PTp00XswgsvDHX8OPr222897dNPP130adSokYj574n/5je/CZ3DiBEjPO127dqFPlZFZ3rt3b17t4j57+M+/PDD1nIqxhloRERElnGwJSIisoyDLRERkWUcbImIiCxLiQlSbdu2DRSzacuWLSL21FNPiZjpS+9+o0ePFrF69eqFSyyFFBYWBup33HHHedqZmWIlOAwePFjE3nvvPRGr6JNFvvrqKxEzLYwfVkVahs+0S5h/cw3T645pElnYXXjmzZsnYldddZWnPX/+/FDHJqBKFTmkmWKmiYe28Z0tERGRZRxsiYiILONgS0REZBkHWyIiIstSYoKUbStXrvS0TTvVmFax2rZtm4j5b7bffPPNos+YMWNKmWE81K1bN1A//041EydOFH1ME5+6dxf7V2POnDmedps2bQLlUF6ce+65IubfVQmQq3YFlZGREepxcTRu3DgR+/nnnz3tjz76SPQJMhlq/fr1Iua/dgGgX79+IuZfTc60M1B5tmPHDhHr0KGDiL344ouetun1olIl+f7RFDPtpmUb39kSERFZxsGWiIjIMg62RERElsX6nm1eXp6IPfHEEyL28ssve9qmRQFMn+v7d/gBgFGjRnnanTp1SphnXOXn53van332WaDH5eTkeNq1a9cWfZ588kkRM+02M2zYME/bdG8y7AIDcWDaHcq0AEtYFeme7d69e0XMf+/OtCCN6fpasmSJpz1z5kzRp0mTJgnPBwBDhw71tNPS0kSf8uyee+4RsR9++CGy4+/fv1/E0tPTIzt+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xF5++WVPu2/fvqLPsGHDRKxLly6lTTG07OySJziHuWebgwRTwJVSQ5VSuUqp3HXr1oU4Bfnk4BA1Z70jlwNe467lgNe4SzngNe5UmME24fRprfVzWutsrXW26W09ldoha856R47XuHu8xt3iNe5YmMG2PEwBjxvW3C3W2z3W3C3W27Ews5GLp0/Pxa/TpxdFmtEhvPbaa572qFGjRB/TZ+adO3f2tP/yl7+IPgMGDBCxSy+9tLQp2pK0mieydetWEVu0yJueqd6pcM/2EFK23iVZvXq1p92vXz/R55xzzhGxVJirUCRla56WliZiG6J0LpYAACAASURBVDZs8LQHDx4s+nz99dci1qxZs8jyKiMn9TZNYv3973/vac+YMSPUsV988UURe//990XM9Hto1KhRqHOWRZjBtjxMAY8b1twt1ts91twt1tuxUn90oLUuxK831+cCONW3HBZZwJq7xXq7x5q7xXq7F2pRC631RhyYyUYOsOZusd7useZusd5uuVhBKjL+7wSaPnc3fWbvn0lXWFgo+pjuXR199NEi5r8nvHmz/AehaRGH8sq0qIVS3u90+79XV1KsUiXO0Qhr0KBBnrb/u86A+TvoVarE6iUgKapWrZqwj+l1YNy4cSJ21113RZFSbLz99tsiFvYe7XHHHedpr1y5UvQxLWr07rvvitgVV1wRKoey4KsbERGRZRxsiYiILONgS0REZBkHWyIiIstSdnbEli1bRCwvL8/Tvvrqq0WfIMuKmXY1mTlzpoiZFtk/66yzPO0LL7xQ9Ln22msT5lBe7Ny5U8T8k59MC1/s2rVLxPy7M5HZs88+K2LLly/3tE2Lu3MyVDimiThB7N69O+JM4ueiiy4SsVatWiV83F//+lcRW7p0qad98803iz433HCDiPnHDYATpIiIiMolDrZERESWcbAlIiKyjIMtERGRZSk7Y8K0aot/4o1polNYderUETHTTfRVq1Z52v37948shzgyrZzjZ5oosmPHDhHjBClp27ZtIvbQQw+J2GOPPeZpR/m3UdEFWUHKpEmTJhFnEj+m1fROO+20hI875phjRMy/8pRptSiTU045JVA/2/jOloiIyDIOtkRERJZxsCUiIrIsZe/ZVqtWTcT69u3raU+dOlX0CburhmlHlIkTJ4qYf1ehIItolGe//PJLwj6m+4eHHXaYjXTKnSee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NW7c2NNOT08XfUx/L4nk5+ejoKBAmf5fqd/ZHjwFXCk1XinVSmu9pKT+WVlZyM3NLe1pjJ566ilPe/z48aLPF198kfA4pov0rrvuErHLLrtMxKZNm+Zp+39pANC+ffuEOZgopZaVEA9c8yjrHVbHjh097RtuuEH0GTRokKt0ShRFvQH3Nd+/f7+IvfTSS572ddddJ/qY/hH4z3/+U8Q6depUhuwOrbxc4347d+4UsQ8//FDENm3aJGLLlnlL8uqrr4o+11xzjYhde+21CfOK6zW+evVqEbv77rs97R9//FH0WbJEPoU2bdqI2K233uppd+nSRfQJ86YpO7vkCc5h7tnmIMEUcKXUUKVUrlIqd926dSFOQT45OETNWe/I5YDXuGs54DXuUg54jTsVZrBNOH1aa/2c1jpba51t+viDSu2QNWe9I8dr3D1e427xGncszGBbHqaAxw1r7hbr7R5r7hbr7ViY2cjF06fn4tfp04sizajIwoULRWzUqFGedtu2bUWfF154QcT8E6lMExceffRREfPfSwGA999/39M+77zzRJ+w92wPwUnNo+K///H444+LPqlwz/YQUqbepolO5557roh99dVXCY9lul94/vnni5j/by8jIyPhsSOQlJr/5z//8bQXLFgg+ixevFjEPv/8c0/bdD/TP5myJP57g6aJSKbXujJK2jXun8Tkn4sDAHfeeaeIbdu2LdT5TK/jU6dO9bRr1ZIrN95///0iFuQ+eUnCDLblYQp43LDmbrHe7rHmbrHejpX6owOtdSF+vbk+F8CpvuWwyALW3C3W2z3W3C3W271Qi1porTfiwEw2coA1d4v1do81d4v1dsvFClKh+D9TB+Rn/RMnThR9WrduHep8994rv9NtOr7/e7z9+vULdb7yzP/l86VLl4o+/i/yA0DVqlWt5RQXX375padtuqe6Zs0aEbvjjjs8bdP3xl955RURM92DcnSP1rlLL71UxPw1UUquR9C8eXMR899DHTlypOjj/745APTu3VvEqlTxvgyXp78D08JDf/jDHzxt02u9af2CK6+80tMePHiw6OO/lw4AW7ZsEbG///3vnrZp4YszzzxTxMqCM9CIiIgs42BLRERkGQdbIiIiyzjYEhERWZayE6RMN8j9/LsAAeEnSJm+8P/QQw8lzOuqq64Kdb7y7JdffvG0TV/uN01aSIWdgFzauHGjiF1wwQWetum69C+sAgCnnXZawvM1adJExEwTgvyL6psmj8TR9ddfL2KVK1f2tE3X4GOPPWYtp/LOtHiNf0KUaeOLt99+W8RME9X8gm6iYboWbOM7WyIiIss42BIREVnGwZaIiMgyDrZERESWpewEqT59+ohYvXr1PO233npL9OneXeyBLJg2QvZPTAHkjiCAnJxy2GGHJTxfReOfYGOahOOfmFLemVbMGj58uIitXLnS0/7ggw9En1NPPTVUDj/88IOImXbAmjBhgqc9bNiwUOdLNccff7yI+VeE+93vfucqnXJn5syZIma6fps2beppv/66XDEyyGSouOE7WyIiIss42BIREVnGwZaIiMiylL1nW6tWLRF74YUXPO0LL7xQ9Onfv7+Ide7c2dP+05/+JPrMnj1bxB588EERO/vss2Wy5OG/J7Nw4ULRZ8+ePa7SVwGQ9wAAC5pJREFUSQmmBVJM96r++te/etph78+amHa9qVmzpohdd911nvaGDRtEn1tvvTWyvFwx3TfPz8/3tE2L4kybNk3E3nzzTU971qxZoo9px5tmzZqJ2DXXXONpDxw4UPSpVCn13xdNnz5dxLTWInbyySd72q1atbKWUypJ/d8gERFRzHGwJSIisoyDLRERkWUcbImIiCxL2QlSJv6FJ0yToS677DIRu+WWWzzt1157TfTp3bu3iI0aNaq0KRKArVu3Juyzf/9+B5kkj3/ijWmC1DHHHCNiQ4YMsZWScTKUadJUv379PO2uXbuKPqYJQf4JXxkZGaVN0SrTIjX+3adMrx+ma9U/6fKGG24QfUy7LOXl5YnY/fff72k/++yzos97770nYv5FfpJtx44dgfr9+OOPnrZpEpVpIZwgtm/fLmK7du0SsSpVvEOfaUJu1PjOloiIyDIOtkRERJZxsCUiIrKMgy0REZFlsZog5Tdy5EgR869OAgCDBw/2tM844wzR5/nnnxexOKzakmymyQ3+CRDVq1cXfUyx8sQ/Wcg/EQcA7rzzThFzMVEjkWrVqnnajzzyiOjz29/+VsTGjRvnaZv+PpPJP6kJAJ555hlP27Qblen1okWLFqFy6NWrl4jddNNNnrZpB7L/+Z//EbGXXnopVA62mOr08MMPi9iCBQs87Q4dOog+VatWDZXD8uXLRcy0kleNGjU87REjRog+t912m4iVZZc3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\n",
      "text/plain": [
       "<Figure size 576x576 with 25 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data=pd.read_table('邮政编码数据.txt',sep=' ',header=None)\n",
    "X=data.iloc[:,1:-1]\n",
    "Y=data.iloc[:,0]\n",
    "#print(Y.unique())\n",
    "np.random.seed(1)\n",
    "ids=np.random.choice(len(Y),25)\n",
    "plt.figure(figsize=(8,8))\n",
    "for i,item in enumerate(ids):\n",
    "    img=np.array(X.iloc[item,]).reshape((16,16))\n",
    "    plt.subplot(5,5,i+1)\n",
    "    plt.imshow(img,cmap=cm.gray_r)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "说明：可视化手写体阿拉伯数字。\n",
    "1、手写体阿拉伯数字以文本文件格式存储。数据为16乘16的灰度点阵值，存放在2至257列上。第1列为灰度点阵数据对应的实际数字。需首先将行数据转换成16乘16的二维数字。\n",
    "2、采用pylab库中的imshow函数将存在在数组中的点阵数据显示为图像。图像数据通常用数组的第三维表示颜色。因本例没有颜色，可通过指定参数cmap为cm.gray_rcm.gray_r，表示以白色为背景显示灰度图像。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train, X_test, Y_train, Y_test = train_test_split(X,Y,train_size=0.60, random_state=123)\n",
    "#NeuNet=net.MLPClassifier(activation='logistic',solver='sgd',batch_size=50)\n",
    "nodes=np.arange(1,20,2)\n",
    "acts=['relu','logistic']\n",
    "errTrain=np.zeros((len(nodes),2))\n",
    "errTest=np.zeros((len(nodes),2))\n",
    "for i,node in enumerate(nodes):\n",
    "    for j,act in enumerate(acts):\n",
    "        NeuNet=net.MLPClassifier(hidden_layer_sizes=(node,),activation=act,random_state=1)\n",
    "        NeuNet.fit(X_train,Y_train)\n",
    "        errTrain[i,j]=1-NeuNet.score(X_train,Y_train)\n",
    "        errTest[i,j]=1-NeuNet.score(X_test,Y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "说明：采用三层网络识别手写体阿拉伯数字。\n",
    "1、隐藏节点分别为1，3，5至19。指定参数activation分别为ReLU和Logistic激活函数。\n",
    "2、计算训练误差和测试误差。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x173cb780cc8>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(nodes,errTest[:,0],label=\"relu激活(测试误差)\",linestyle='-')\n",
    "plt.plot(nodes,errTest[:,1],label=\"logistic激活(测试误差)\",linestyle='-.')\n",
    "plt.plot(nodes,errTrain[:,0],label=\"relu激活(训练误差)\",linestyle='-',linewidth=0.5)\n",
    "plt.plot(nodes,errTrain[:,1],label=\"logistic激活(训练误差)\",linestyle='-.',linewidth=0.5)\n",
    "plt.title('隐藏节点数与误差')\n",
    "plt.xlabel('隐藏节点数')\n",
    "plt.ylabel('误差')\n",
    "plt.xticks(nodes)\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
